Pragmatic Software Configuration Management
نویسنده
چکیده
W henever I start a new software project, I look at the infrastructure the team has in place for doing things like setting up a development workspace, building, doing version management, and so on—the things that belong to the larger topic known as software configuration management (SCM). I worry about these elements because, in a sense, I’m lazy. I want to direct my energies into producing code that works and is maintainable. When I have to spend a lot of manual effort dealing with infrastructure issues, I suspect that I’m not generating as much value for the organization as I would if I could focus more on the steps for writing code (this includes understanding requirements and testing). Workspace management, integration, and build are important developer tasks, but they shouldn’t require excess effort. Often an organization’s SCM mechanisms don’t help with the work of building software as much as they could. Either no mechanisms exist for doing common tasks or the processes to use those mechanisms are too complicated and become tasks in themselves. On a daily basis, developers shouldn’t notice SCM that much, and what they do notice, they should eagerly embrace because these things help them do their jobs. When developers don’t find SCM processes to be helpful, it’s often because the processes don’t serve the organization’s goals well. This tends to be due to two issues: first, basic SCM structures are lacking and, second, the structure doesn’t fit well into the development environment. In our book Software Configuration Management Patterns: Effective Teamwork (Addison-Wesley, 2003), Brad Appleton and I saw this as a perfect application for pattern languages (see the related sidebar). Here is a brief overview of the essential patterns for a basic, agile SCM environment.
منابع مشابه
Reverse-Engineering and Configuration Management: Concepts and perspectives
More than one decade of industrial experience with the Adele CM environment shows that advances in software configuration management are effective only if forward-looking research can be merged with pragmatic work on present and past technology. Based on our experience in the CM field and starting from the observation that the technology today in use was designed in the 70’s, this paper tries t...
متن کاملTowards a Pragmatic Model Driven Engineering Approach for the Development of CMS-based Web Applications
Most enterprises utilize Web Content Management System (CMS) for the development and maintenance of their web applications. A CMS provides a high quality platform and creates web applications based on software configuration instead of software engineering from scratch. Although there are numerous advantages to implementing a CMS, there are two downsides not solved: for complex applications ther...
متن کاملExperience with Change-Oriented SCM Tools
In the recent years two approaches in Software Configuration Management (SCM) tools have been emphasized: a Change-oriented model and a Version-model approach. This paper gives an overview of two Change-oriented SCM tools developed at ABB Industrial Systems and describes the experience with their usage. The first tool is strictly change-oriented and it requires formal consistency of the entire ...
متن کاملGeneralized Release Planning for Product Line Architectures
This paper elaborates on the coordination and management of evolving software product-lines, where development teams work around a shared and reusable domain infrastructure. The trend away from monolithic applications and towards component-based, product-line architectures has enabled the development of complex software to be undertaken by autonomous and often, geographically separated teams. T...
متن کاملA Pragmatic Approach For Debugging Parameter-Driven Software
Debugging a software system is a difficult and time consuming task. This is in particular true for control software in technical systems. Such software typically has a very long life cycle, has been programmed by engineers and not computer scientists, and has been extended numerous times to adapt to a changing environment and new technical products. As a consequence, the software is often not i...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEEE Software
دوره 20 شماره
صفحات -
تاریخ انتشار 2003